#include <iostream>

using namespace std;

class A {
public:
    A(){
        m_data = new char[1];
    }
    ~A(){
        cout << "call A decontruct" <<endl;
        delete m_data;
    }

    void release(){
        this->~A();
    }
    void _release(){
        //delete this;
    }

    char *m_data;
};

int main(int argc, const char *argv[])
{
 
    A a;
    A _a;
    a.release();
    cout << __LINE__ <<endl;
    a._release();
    cout << __LINE__<<endl;
    return 0;
}
